Hệ Thống Ngôn Ngữ
Hệ thống SkillDo CMS v8 được xây dựng ngay từ đầu với khả năng hỗ trợ Đa Ngôn Ngữ (Internationalization - i18n). Hệ thống quản lý các tệp ngôn ngữ cực kỳ chặt chẽ dựa trên các Namespace để phân biệt rõ ràng ngôn ngữ của Core, Theme, Plugin hay Admin.
Bản chất của i18n trong SkillDo là việc truy xuất các file Mảng (Array) PHP chứa văn bản, dựa theo Ngôn ngữ hiện tại đang được kích hoạt (locale).
1. Cơ chế hoạt động của hàm trans()
Thay vì sử dụng các hàm cũ của Framework khác, trong SkillDo v8, toàn bộ hệ thống đều sử dụng hàm trans() để gọi các key ngôn ngữ.
Cú pháp chuẩn: trans('namespace::tên-file.từ-khóa', $parameters)
Hệ thống v8 phân rã cấu trúc tệp dịch thuật thành 5 kiểu Namespace (Khu vực) như sau:
| Loại (Namespace) | Cách gọi hàm trans() | Mục đích sử dụng |
|---|---|---|
| 1. Global (Mặc định) | trans('file.key') | Dành cho các từ khóa gốc của Framework nằm ở thư mục sourcev8/language/ (Không có prefix namespace) |
| 2. Plugin | trans('tên-plugin::file.key') | Dành cho ngôn ngữ nội bộ của từng Plugin sinh ra. VD: trans('skd-seo::admin.title') |
| 3. Admin | trans('admin::file.key') | Dành riêng cho khu vực giao diện Quản trị Backend. |
| 4. Theme | trans('theme::file.key') | Dành riêng cho giao diện Frontend của Theme đang kích hoạt. VD: trans('theme::home.welcome') |
| 5. Element | trans('tên-element::file.key') | Dành cho nội dung của giao diện cấu hình Page Builder Element. VD: trans('auth-button::style.color') |